#!/bin/bash

# 自动获取当前脚本所在路径
SCRIPT_DIR=$(dirname "$(realpath "$0")")
SCRIPT_PATH="$SCRIPT_DIR/update_ipv6.py"
SERVICE_NAME="update_ipv6.service"

# 检查脚本文件是否存在
if [ ! -f "$SCRIPT_PATH" ]; then
    echo "错误：脚本文件 $SCRIPT_PATH 不存在！"
    exit 1
fi

# 创建 systemd 服务文件
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME"

echo "正在创建 systemd 服务文件：$SERVICE_FILE"

cat <<EOF | sudo tee "$SERVICE_FILE" > /dev/null
[Unit]
Description=Update IPv6 Address
After=network.target

[Service]
ExecStart=/usr/bin/python3 $SCRIPT_PATH
Restart=on-failure
RestartSec=5s  # 服务失败后延迟5秒重启
User=root
Environment=PATH=/usr/bin:/usr/local/bin
Environment=PYTHONUNBUFFERED=1
StandardOutput=journal
StandardError=inherit

[Install]
WantedBy=multi-user.target
EOF

# 重新加载 systemd 配置并启用服务
echo "重新加载 systemd 配置并启用服务..."
sudo systemctl daemon-reload
sudo systemctl enable "$SERVICE_NAME"
sudo systemctl start "$SERVICE_NAME"

# 输出状态
echo "服务状态："
sudo systemctl status "$SERVICE_NAME"

# 提示完成
echo "完成！现在，update_ipv6.py 脚本已作为 systemd 服务运行。"